package LQB;
/*
题目：对一个方阵转置，就是把原来的行号变列号，原来的列号变行号。例如，如下方阵：
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
转置后变为：
1  5  9   13
2  6  10  14
3  7  11  15
4  8  12  16
但如果是对该方阵顺时针旋转（不是转置），却是如下结果：
13  9   5  1
14  10  6  2
15  11  7  3
16  12  8  4
 */
import java.util.Scanner;

public class 矩形倒置 {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        System.out.println("输入行数");
        int h=in.nextInt();//二维数组行数
        System.out.println("输入列数");
        int l=in.nextInt();//二维数组列数
        int matrix[][] =new int[h][l];//定义一个二维数组
        //从键盘上输入一个二维数组
        System.out.println("输入数据");
        for(int i=0;i<h;i++){
            for(int j=0;j<l;j++){
                matrix[i][j]=in.nextInt();
            }
            System.out.println();
        }
        //矩阵转置之前
        System.out.println("矩阵转置之前:");
        for(int i=0;i<h;i++) {
            for (int j = 0; j < l; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
        //矩阵转置之后
        System.out.println("矩阵转置之后:");
        for(int i=0;i<l;i++) {
            for (int j = 0; j < h; j++) {
                System.out.print(matrix[j][i] + " ");
            }
            System.out.println();
        }
    }
}
